Electrical pulses transmitted on a band-limited signaling path disperse in time as they travel from source to destination. In systems in which data is transmitted as a sequence of level-encoded electrical pulses, such time-domain dispersion results in a blending of neighboring pulses; an effect known as dispersion-type inter-symbol interference (ISI). Dispersion-type ISI becomes more pronounced at faster signaling rates, ultimately degrading the signal quality to the point at which distinctions between originally transmitted signal levels may be lost.
FIG. 1 illustrates a prior-art signaling system having a transmitter 101, signal path 102 and receiver 103. The transmitter includes post- and pre-tap output drivers 109 that mitigate dispersion-type ISI by generating dispersion-countering, pre-emphasis signals based on previously transmitted values (post-tap data) and the next-to-be-transmitted data value (pre-tap data), stored in shift register elements 107 and 104, respectively. The pre-emphasis signals are wire-summed with a primary output signal, generated by primary output driver 105, that corresponds to the data value being transmitted.
In a low-noise system, the drive strengths of the post- and pre-tap output drivers would theoretically be adjusted based on errors between receiver-sampled signal levels and expected signal levels (e.g., as shown by error indication, “e” at 112) until the pre-emphasis signals generated by the transmitter effect a transfer function (W) that is an exact inverse of the transfer function (P) of the signal path 102, thereby yielding a waveform at the input of receiver 103 that is identical to the primary output signal (i.e., W*P=1). This effect is illustrated in the waveforms of FIG. 2, which illustrates received signal levels with and without pre-emphasis at 116 and 114, respectively. In practical high-speed signaling systems, however, the transmitter is usually peak power constrained and therefore unable to provide the level of pre-emphasis needed to restore received signals to originally transmitted levels, illustrated as normalized +/−1 signal levels in FIG. 2. Also, as shown at 118, in a level-encoded signaling protocol (e.g., pulse amplitude modulation (PAM)), the overall attenuation of the received signal is a function of the transmitted data pattern itself, with low frequency components (e.g., sequences of same-level transmissions) having a higher amplitude, approaching the +/−1 levels, than high frequency components (e.g., alternating sequences of different-level transmissions) which are attenuated to +/−a levels.
Together, the transmitter power constraint and the data-dependent attenuation present a number of challenges in the prior-art signaling system 100. A fundamental problem is how to generate the error signal used to adjust the drive strengths of the transmitter output drivers considering that no known data level can be reached for all data patterns. That is, if the known reference levels +/−1 cannot be reached in high-frequency data patterns, attempting to converge to such levels tends to produce non-optimal drive-strength settings from the standpoint of link performance.
One prior-art solution for generating error signals that may be used to update the drive strengths of the transmitter output drivers is to provide a variable gain element, G (shown in dashed outline in FIG. 1), at the receive-side of the signaling path 102. In theory, the gain element may be used to restore the incoming signal to the desired signaling level. While some improvement may be realized by such an approach, as signaling rates progress deeper into the gigahertz range, signals are often attenuated 10 to 20 db and more. Consequently, the gain-bandwidth product required to restore such high data rate signals to originally transmitted levels is beyond the capability of most practical amplifiers.
In view of the challenges involved in dynamically updating drive strengths of transmit-side output drivers, many system designers opt for a simpler approach, setting the drive strengths based on empirical results obtained in particular system configurations. While such static drive strength settings work well in many systems, non-optimal settings often result in systems which are subject to post-production configuration changes (e.g., adding modules, circuit boards or other components that affect signaling system characteristics), and systems that are sensitive to process variations and to changes in environmental factors such as voltage and temperature.